CURRENT_DIR := $(CURDIR)
# 递归查找当前目录及子目录中的所有 .c 文件
SRC := $(shell dir /S /B *.c)
# 输出所有找到的 .c 文件
$(info SRC: $(SRC))
# 生成对应的 .o 文件路径
OBJS := $(patsubst %.c,%.o,$(SRC))
# 输出生成的目标文件
$(info OBJS: $(OBJS))
# 编译器
CC := gcc
# 编译选项（添加头文件路径）
CFLAGS := -Wall -g -std=c99 \
-I $(CURRENT_DIR)\12 \
-I $(CURRENT_DIR)\12\123
# 最终生成的可执行程序
TARGET := demo

# 目标：构建最终的可执行程序
$(TARGET): $(OBJS)
	$(CC) $(OBJS) -o $@

# 模式规则：从 .c 生成 .o
%.o: %.c
	$(CC) $(CFLAGS) -c $< -o $@

# 清理
.PHONY: clear
clear:
	del /f /q *.o *.exe $(TARGET)
	- del /s /q *.o
